package ae.pcfc.cldos.online.common.clddb.domain;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;
import org.hibernate.envers.Audited;

import ae.pcfc.cldos.online.common.domain.BaseEntity;


/**
 * The persistent class for the T_CLDOS_ADDRESS_DETAILS database table.
 * 
 */
@Entity
@Audited
@Table(name="T_CLDOS_ADDRESS_DETAILS")
public class AddressDetail extends BaseEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(generator="SQ_CLDOS_APP_ID")
	@GenericGenerator(name = "SQ_CLDOS_APP_ID",  strategy="foreign", parameters=@Parameter(name="property", value="EmployeeDetail"))
	@Column(name="APPLICATION_ID")
	private Long applicationId;

	@Column(name="AD_ABRD")
	private String adAbrd;

	@Column(name="AD_BUIDING")
	private String adBuiding;

	@Column(name="AD_CITY")
	private String adCity;

	@Column(name="AD_CURR_IN_UAE")
	private String adCurrInUae;
	
	@Column(name="AD_POBOX")
	private String adPoBox;

	@Column(name="AD_CURR_VISA_TYPE")
	private String adCurrVisaType;

	@Column(name="AD_EMIRATE")
	private String adEmirate;

	@Column(name="AD_FLAT_NO")
	private String adFlatNo;

	@Column(name="AD_PLACE_OB")
	private String adPlaceOb;

	@Column(name="AD_STREET")
	private String adStreet;

	@Column(name="AD_TEL_OF_EXT")
	private String adTelOfExt;

	@Column(name="AD_TEL_OFF")
	private String adTelOff;

	@Column(name="AD_TEL_RES")
	private String adTelRes;

	@Column(name="AD_ZONE")
	private String adZone;

	//bi-directional many-to-one association to EmployeeDetail
	@OneToOne(fetch=FetchType.LAZY, cascade=CascadeType.ALL, optional=true)
	@PrimaryKeyJoinColumn
	private EmployeeDetail EmployeeDetail;

    public AddressDetail() {
    }


	public String getAdAbrd() {
		return this.adAbrd;
	}

	public void setAdAbrd(String adAbrd) {
		this.adAbrd = adAbrd;
	}

	public String getAdBuiding() {
		return this.adBuiding;
	}

	public void setAdBuiding(String adBuiding) {
		this.adBuiding = adBuiding;
	}
	
	public String getAdPoBox() {
		return this.adPoBox;
	}

	public void setAdPoBox(String adPoBox) {
		this.adPoBox = adPoBox;
	}

	public String getAdCity() {
		return this.adCity;
	}

	public void setAdCity(String adCity) {
		this.adCity = adCity;
	}

	public String getAdCurrInUae() {
		return this.adCurrInUae;
	}

	public void setAdCurrInUae(String adCurrInUae) {
		this.adCurrInUae = adCurrInUae;
	}

	public String getAdCurrVisaType() {
		return this.adCurrVisaType;
	}

	public void setAdCurrVisaType(String adCurrVisaType) {
		this.adCurrVisaType = adCurrVisaType;
	}

	public String getAdEmirate() {
		return this.adEmirate;
	}

	public void setAdEmirate(String adEmirate) {
		this.adEmirate = adEmirate;
	}

	public String getAdFlatNo() {
		return this.adFlatNo;
	}

	public void setAdFlatNo(String adFlatNo) {
		this.adFlatNo = adFlatNo;
	}

	public String getAdPlaceOb() {
		return this.adPlaceOb;
	}

	public void setAdPlaceOb(String adPlaceOb) {
		this.adPlaceOb = adPlaceOb;
	}

	public String getAdStreet() {
		return this.adStreet;
	}

	public void setAdStreet(String adStreet) {
		this.adStreet = adStreet;
	}

	public String getAdTelOfExt() {
		return this.adTelOfExt;
	}

	public void setAdTelOfExt(String adTelOfExt) {
		this.adTelOfExt = adTelOfExt;
	}

	public String getAdTelOff() {
		return this.adTelOff;
	}

	public void setAdTelOff(String adTelOff) {
		this.adTelOff = adTelOff;
	}

	public String getAdTelRes() {
		return this.adTelRes;
	}

	public void setAdTelRes(String adTelRes) {
		this.adTelRes = adTelRes;
	}

	public String getAdZone() {
		return this.adZone;
	}

	public void setAdZone(String adZone) {
		this.adZone = adZone;
	}

	public EmployeeDetail getEmployeeDetail() {
		return this.EmployeeDetail;
	}

	public void setEmployeeDetail(EmployeeDetail EmployeeDetail) {
		this.EmployeeDetail = EmployeeDetail;
	}


	public Long getApplicationId() {
		return applicationId;
	}


	public void setApplicationId(Long applicationId) {
		this.applicationId = applicationId;
	}
	
}